In a standard RAID-5 or RAID-6 implementation, typically equal amount of writes are performed on each drive in the RAID set over time. For RAID implementations based on SSD drives using low endurance flash e.g. TLC, this can become a serviceability & availability issue since all the drives in the RAID set could wear out almost around the same time. Even with RAID-6 implementation, only a maximum of two drive failures can be handled at a given time.
A typical RAID-6 implementation with N drives spreads N-2 write data blocks into N-2 drives and then writes two blocks of parity (called P & Q) into the remaining 2 drives. This process of spreading write data into multiple drives is called RAID striping, and each set of N-2 write data blocks along with its parity blocks is called a RAID stripe. The example below shows how RAID-6 stripes are arranged in a typical 4-drive RAID set.
Drive 0Drive 1Drive 2Drive 3WB0WB1P0Q0→ stripe# 0Q1WB2WB3P1→ stripe# 1P2Q2WB4WB5→ stripe# 2WB6P3Q3WB7→ stripe# 3
WBn are the write blocks. Pn and Qn are the parity blocks for stripe# N. Parity blocks are rotated with each new stripe so that all 4 drives store write data blocks (not just parity) which in turn increases the available read bandwidth. Striping pattern for stripe#4 matches stripe#0, stripe#5 matches stripe#1 and so on.
In the above standard RAID-6 striping scheme each drive performs an equal amount of writes over time. Thus, all 4 drives will wear equally over time in such a system where all of the drives are the same, as is conventional.